Apparatus, method and program product for selectively starting one of a plurality of operating systems and secondary storage according to whether or not a predetermined peripheral is connected to the system

ABSTRACT

A computer system which includes a CPU for performing various processes by program control and storage elements which store at least one operating system and a BIOS, wherein upon starting a system, the CPU recognizes the system&#39;s own hardware configuration, and starts a selected one operating system stored in the storage elements in accordance with the recognized hardware configuration under the control of the BIOS.

FIELD AND BACKGROUND OF INVENTION

The present invention relates to an apparatus, method and programproduct for initiating operation of a computer system and particularlyto starting up a computer by selectively switching operating systemsinstalled in the computer.

As pieces of electronic equipment have downsized and sophisticated inrecent years, portable computers including notebook computers andhand-held computers have achieved as high performance as that of desktopcomputers. Accordingly, systems have appeared which provide portabilityand expandability with all kinds of media drives and I/O interfacesintegrated into a single docking station.

This allows a user to employ a single computer with a simple hardwareconfiguration for portable use and also to employ various features ofperipheral devices by attaching a docking station thereto.

In a modern computer, system management or a user's fundamentaloperating environment is usually provided by an operating system(hereinafter referred to as OS). The operating environment to beprovided differs according to the type of OS loaded and executed in acomputer systems central processing unit (CPU). Therefore, it ispreferable to select an appropriate OS according to a work environmentor a purpose. It may also be desirable to select an appropriate OS forrecovery from disastrous failures such as the loss or improper removalof a hard drive. Such recovery may be as simple as enabling limited useof the computer system for particular purposes, such as network accessto call in appropriate help.

For example, in a personal computer such as a desktop computer or anotebook computer, a versatile OS (hereinafter referred to as ageneral-purpose OS) such as UNIX or Windows (Microsoft Corporation) iscommonly used, while in a hand-held computer such as PDA (PersonalDigital Assistant), a compact OS (hereinafter referred to as a small OS)such as Pocket PC or Windows CE (Microsoft Corporation) or Palm OS (PalmInc.) is used.

In a general-purpose OS, functions to be provided may have various typesof designs and a wide variety of designs also exist for a userinterfaces. On the other hand, since much significance is put onportability of a computer in a small OS, a small OS is subject tovarious limitations as follows: A program is required to be small insize in order to reduce the number of mechanical structures, for examplemagnetic memory, as much as possible, which significantly affects weightof a computer or operating time of a battery. And a user interface isrequired to have a design which takes account of operability on a smallscreen.

Since system management and a fundamental operating environment in acomputer is provided by an OS, an OS to be installed on a computer ispreferably selected accordance with an environment or a purpose of thecomputer. However, in the case of the system in which a hardwareconfiguration and an operating environment greatly differs between whenit is used as a portable unit and when it is attached with a dockingstation, the type of an appropriate OS may also differ between thesesituations. Similar consideration may impact disaster recovery asmentioned above.

In one specific example, a simple hardware configuration for a portableuse preferably uses the above-described small OS, while a dockingstation-attached configuration preferably uses a more versatile generalpurpose OS. In another example, the unavailability of a general purposeOS due to disastrous failure may result in a small OS being sufficientto enable necessary limited functionality.

A conventional approach to selecting and booting a plurality of OS in acomputer includes a method that loads a plurality of OS in a pluralityof storage devices, then operates a predetermined program tool uponstarting a computer to select an OS to start. Another method has alsobeen used that prepares a plurality of hibernation files correspondingto a plurality of OS with hibernation technique, and selects an OS byselecting a desired file among the above-described hibernation filesupon restarting.

In either case, however, a normal boot sequence of a computer mustexecute once and an OS to start must be selected during that sequence.

Under the environment of a computer with frequent power-on/power-off asused as a portable unit, the question is how to shorten a time periodfrom the start of an OS to the start of a work. However, a method usinga predetermined program tool or hibernation technique requires a certainperiod of time for starting an OS by executing a normal boot sequence.Therefore, high-speed startup such as that of a PDA cannot be expectedfrom the above-described method.

Due to its large program size, the general-purpose OS is commonly storedon a magnetic disk storage (hard disk storage). When a computer is usedas a portable unit, a mechanical configuration of the magnetic diskstorage could be harmed as an OS is being read out from the disk bypowering the computer on.

SUMMARY OF THE INVENTION

One purpose of the present invention is to provide a work environmentthat uses an appropriate OS by selectively and automatically starting aselected OS in accordance with a recognized hardware configuration.

Another purpose of the present invention is to selectively and quicklystart at least one OS without accessing a magnetic disk storage.

The present invention achieving the above-described objects isimplemented as a computer system wherein the computer system includes aCPU for performing various processes by program control and storageelements which store at least one operating systems and a BIOS, whereinupon starting a system, the CPU recognizes the system's own hardwareconfiguration, and starts a selected one operating system stored in thestorage elements in accordance with the recognized hardwareconfiguration under the control of the BIOS.

More preferably, the computer system is configured to further include aninterface for connecting peripheral devices thereto and selects anoperating system to start in accordance with whether a predeterminedperipheral device is connected to the interface or not. Any device canbe set as such a predetermined peripheral device. For example, it can bea docking station for improving the extensibility of the computersystem. Alternatively, the device may be such as a non-volatile memoryattached by means of an external interface such as a USB port.

Another computer system according to the present invention includes aCPU for performing various processes by program control and main memoryfor storing a program that controls the CPU, wherein the CPU stores aprogram image of a second operating system in a predetermined memoryarea of main memory under the control of a first operating system, andpowers off the CPU after storing contents of the main memory, and then,upon starting the system, starts either a first operating system or asecond operating system of which a program image is stored in the mainmemory.

Suspend (stand-by) or hibernation can be used as means to store contentsof main memory and to power off the CPU.

Such a computer system, as it starts in the above-described manner, canrecognize the system's own hardware configuration, and determine whichof a first operating system and a second operating system is to bestarted in accordance with the recognized hardware configuration. In thecase of starting a second operating system, resume control can beperformed without powering on a storage, such as magnetic disk storage.At least the first operating system of the above-described operatingsystems can be configured to correspond to ACPI (Advanced Configurationand Power Interface) and to set an NVS (Non-Volatile Sleeping memory) asa memory area free for use.

Another computer system according to the present invention includes aCPU for performing various processes by program control, main memory forstoring a program that controls the CPU, a first storage device forstoring a first operating system that can set a memory area free for usewhich is not used by the operating system itself and free for otherpieces of software to use, a second storage device for storing a secondoperating system in a size which can be stored in the memory area freefor use, characterized in that the CPU sets a memory area free for useon a main memory under the control of the first operating system, storesa program image of the second operating system that has read out fromthe second storage device into the memory area free for use, and startseither of the first or the second operating system in accordance withcontents of the main memory in startup control of the system.

Another computer system according to the present invention includes amain unit of a computer and a peripheral device that adds variousfeatures to the main unit, characterized in that the main unit of thecomputer includes a first storage device for storing a first operatingsystem that operates in an environment with a peripheral deviceconnected thereto, and a second storage device for storing a secondoperating system that operates in an environment without a peripheraldevice connected thereto, wherein the main unit of the computerselectively starts either the first or the second operating system inaccordance with whether the peripheral device is connected thereto ornot.

The present invention can also be provided as a method of controlling acomputer including a step of recognizing the system's hardwareconfiguration as it starts up, and a step of starting any of a pluralityof operating systems stored on a storage device in accordance with therecognized hardware configuration.

More preferably, the present invention is characterized in that the stepof recognizing a hardware configuration includes a step of acquiring adevice ID from a predetermined peripheral device, and the step ofstarting an operating system includes a step of determining whichoperating system to start in accordance with the acquired device ID.

Another start control method of a computer system according to thepresent invention includes steps of storing a program image of a secondoperating system on a predetermined memory area in main memory under thecontrol of a first operating system, bringing a system into a suspendedstate, and starting either the first operating system or the secondoperating system, of which a program image is saved to the main memory,in a process of resuming from the suspended state.

More preferably, the start control method of the computer system furtherincludes a step of recognizing the system's own hardware configurationin a process of resuming from the suspended state, and the step ofstarting an operating system includes a step of determining which of thefirst and the second operating system is started in accordance with thehardware configuration recognized at the step of recognizing thehardware configuration.

Alternatively, the step of starting the operating system includes, inthe case of starting a first operating system, steps of powering amagnetic disk storage on and reading out and starting the firstoperating system from a magnetic disk storage, while in the case ofstarting a second operating system, a step of starting the secondoperating system from a program image stored in main memory withoutpowering a magnetic disk storage on.

Yet another start control method of a computer system according to thepresent invention is that it includes steps of storing a program imageof a second operating system on a predetermined memory area in mainmemory under the control of a first operating system, powering thesystem off after saving contents of main memory to a magnetic diskstorage for example, reading the contents of main memory that is storedin the magnetic disk storage into the main memory after powering thesystem on, and starting either the first operating system or the secondoperating system, of which a program image is stored in the main memory,in accordance with the contents read into the main memory.

The present invention can also be provided as a program that implementthe above-described computer system or control method thereof, e.g.,BIOS (Basic Input/Output System) or OS (Operating System). Theseprograms may be provided by distributing a magnetic disk or an opticaldisk, a semiconductor memory or other storage medium that have storedthem, or by distributing them via a network.

BRIEF DESCRIPTION OF DRAWINGS

Some of the purposes of the invention having been stated, others willappear as the description proceeds, when taken in connection with theaccompanying drawings, in which:

FIG. 1 is a diagram showing a hardware configuration of a computerproviding an OS switch method according to the embodiment;

FIG. 2 is a diagram showing an exemplary state of use of a memory spacewith an OS that supports ACPI;

FIG. 3 is a flowchart illustrating an operation at the startup of acomputer according to the embodiment; and

FIG. 4 is a flowchart illustrating an operation at the startup of acomputer in the case of switching OS's to start by using hibernationfunction.

DETAILED DESCRIPTION OF INVENTION

While the present invention will be described more fully hereinafterwith reference to the accompanying drawings, in which a preferredembodiment of the present invention is shown, it is to be understood atthe outset of the description which follows that persons of skill in theappropriate arts may modify the invention here described while stillachieving the favorable results of the invention. Accordingly, thedescription which follows is to be understood as being a broad, teachingdisclosure directed to persons of skill in the appropriate arts, and notas limiting upon the present invention.

The present invention will now be described in detail based on anembodiment illustrated in attached drawings. The embodiment previouslystores a small OS that is suitable for an environment of the computerfor portable use and a general-purpose OS that is suitable for anenvironment used with a docking station attached thereto (when it isused as a desktop computer), then performs switch control for startingan appropriate OS in accordance with a hardware configuration of thecomputer.

FIG. 1 is a diagram showing a hardware configuration of a computerimplementing a method for switching OS's according to the embodiment.

As shown in FIG. 1, a computer 10 of the embodiment includes a CPU(Central Processing Unit) 11, which is a processing unit, a Northbridgememory controller (hereinafter referred to as Northbridge) 12, mainmemory 13 and a graphic chip 14 connected to a CPU 11 via a Northbridge12, a Southbridge 15 and a PCI/IDE controller 16 connected toNorthbridge 12 via a PCI bus 19. A flash memory 17 and HDD (magneticdisk storage) 18 are connected to a PCI/IDE controller 16.

Also as shown in FIG. 1, a computer 10 can be connected to a dockingstation 20 via a predetermined interface. The docking station 20 isgiven a device ID for recognition, which is sent from the dockingstation 20 to the computer 10 as the computer 10 and the docking station20 are connected. Therefore, the computer 10 can recognize that thedocking station 20 is connected thereto.

Although it is not illustrated in the drawing, a docking station 20includes various kinds of interfaces such as USB or IEEE1394, therebyvarious peripheral devices can be used by attaching themselves to thedocking station 20 on a computer 10. A docking station 20 may have anyconfiguration; it can include a display device, an input device such asa keyboard, a media drive, and other peripheral devices, if necessary.An interface such as a USB port may also be provided on the computer 10.

In FIG. 1, Northbridge 12 and Southbridge 15 are motherboard chipsets,performing system control by connecting a CPU 11 and a PCI bus 19 orother buses (e.g. ISA bus). A flash memory 17 stores a small OS that issuitable for an operating environment in a hardware configuration of acomputer 10 for portable use (hereinafter referred to as portableconfiguration). A compact flash or other ROM (Read Only Memory), or anonvolatile memory such as NVRAM (Nonvolatile Random Access Memory) maysubstitute a flash memory 17. HDD 18 stores a general-purpose OS that issuitable for an operating environment in a hardware configuration of acomputer 10 with a docking station 20 attached thereto (hereinafterreferred to as an extended configuration). An OS that is stored in theflash memory 17 or HDD 18 is read out and loaded into main memory 13 tocontrol a CPU 11 so that various types of information processing areperformed.

Power supply can be controlled individually for each component shown inFIG. 1. It is a general practice to reduce power consumption while usinga computer, if HDD 18 is not accessed for a certain period of time, forexample, power supply to the HDD 18 is suspended by controlling. Under asuspended (standby) condition, power supply for each component exceptfor a portion for main memory 13 and a Southbridge 15 that is need formaintaining data and for receiving operations on resume is suspended.

A computer 10 according to the embodiment is integrally or detachablyprovided with an input/output device consisting of a compact displaydevice (of a few inches, for example) and a touch-panel provided on thedisplay device, thereby an image is displayed through display controlwith a graphic chip 14 and input is made possible with input means sucha pen input. This allows a computer 10 alone (in a portableconfiguration) to be used as a simple hand-held device such as PDA.Otherwise, as described above, the computer 10 can be used as ageneral-purpose computer system by attaching a docking station 20 (in anextended configuration).

In view of the above-mentioned hardware configuration, a small OS thatis used in a portable configuration supports pen input as input means.The small OS also has a GUI designed for being displayed on a compactdisplay device. Main purposes of a computer 10 in a portableconfiguration include such purposes as referring, inputting and editinga telephone directory, memorandum, schedule data, etc. that are coveredby a PIM (Personal Information Manager).

On the other hand, a general-purpose OS has a GUI that corresponds to ageneral input device such as a keyboard or a mouse and that putsemphasis on operability on a somewhat large display. It makes itpossible to use a peripheral device including a printer or a mediadrive, and to perform information processing or manipulation withvarious pieces of application software.

OS's used for the embodiments, including both a general-purpose OS and asmall OS, have a suspend/resume functions. A general-purpose OS candefine the memory area that is not used by the OS itself and free forpredetermined pieces of software (hereinafter referred to as a memoryarea free for use) in the memory space.

In the embodiment, a program image of a small OS, which is stored in aflash memory 17, is previously generated on a free memory area. The term“program image” refers to a program stored in a memory. In a suspendedstate of a general-purpose OS, the whole contents of main memory 13containing the free memory area are saved so that a program image of asmall OS will be saved as well. Therefore, startup of this small OS ismade possible by having registered an address of a small OS stored inthe free memory area as an entry point to be used upon resuming from asuspended state, and jumping to the entry point at the time of resuming.As a matter of course, if a computer is resumed in the normal procedurefrom a suspended state and process to an entry point prepared by ageneral-purpose OS, a general-purpose OS will start. In theabove-described manner, switching selection of OS's become possibleduring a resume operation from a suspended state.

In the case of an OS that supports ACPI (Advanced Configuration andPower Interface), for example, a memory area such as a NVS (Non-VolatileSleeping memory) can be used as an above-described memory area used inthe embodiment.

FIG. 2 is a diagram showing an exemplary state of use of a memory spacewith an OS supporting ACPI.

Referring to FIG. 2, a NVS area 131 is set on a memory space 130 by thecontrol of a general-purpose OS and a small OS image 132 is createdthereon.

On the basis of the above-described configuration, a computer 10according to the embodiment will operate in any of the following threestates;

-   (1) a state of a small OS operating alone,-   (2) a state of a general-purpose OS operating,-   (3) a state of a small OS operating using a memory area free for use    provided in a general OS.

In the early stage of powering on a computer 10 and getting hardwarestarted, either a small OS or a general-purpose OS is started, bringinga state of (1) or (2). After a general-purpose OS has started (in thestate of (2)), state of (2) or (3) can be selected through suspend andresume by storing a small OS into memory area free for use.Consequently, OS's to be used can be switched.

A computer 10 also recognizes hardware configuration as it resumes froma suspended state with a small OS being stored in a memory area free foruse. Then it selects whether to start a small OS or a general-purpose OSin accordance with the recognized hardware configuration. Specifically,in the case a computer 10 recognizes that it is operating alone, itstarts a small OS, while in the case it recognizes that a dockingstation is attached thereon, it starts a general-purpose OS. Therefore,an OS to start is selected in accordance with the recognized absence orpresence of a docking station 20. The presence of a docking station 20can be identified by determining whether a device ID was sent from adocking station 20 as the OS starts.

Recognition of a hardware configuration and determination and startup ofan OS to start upon resuming from the above-described suspended stateare provided as a feature of BIOS (Basic Input/Output System). BIOS is aprogram that controls not only essential devices such as a keyboard, afloppy disk drive, and a hard disk drive but also the startup of acomputer 10. BIOS is stored in a ROM that is not shown in FIG. 1.

When a computer 10 is powered on for the first time, either a small OSor a general-purpose OS can be set to start. Since hardware is checkedwith POST (Power On Self Test), which is performed under the control ofBIOS during the startup process, startup control can be performed todetermine an OS to start by checking the hardware configuration.

In the system corresponding to ACPI, during the startup process of acomputer 10, an ACPI table and the like are created on main memory 13 byPOST and ACPI is set. Therefore, in the case of using a NVS area of ACPIas a memory area free for use, startup control such as to read a programimage of a small OS from a flash memory 17 and to create it in a NVSarea during a POST can be initially performed along with a startup of ageneral-purpose OS (as a computer 10 is powered on for the first time).In such a manner, a general-purpose OS starts immediately after poweringon a computer 10 and a small OS will stay stored in a NVS area, so thatswitching of OS's by performing suspend and resume becomes possible.

An operation of resuming from a suspended state will now be described.

FIG. 3 is a flowchart illustrating an operation of a computer 10according to the embodiment during the startup process.

As an initial state, a computer 10 is assumed to be transferred into asuspended state after a general-purpose OS has previously started and asmall OS has been stored in a memory area free for use. Whether acomputer 10 is in a suspended state or not is identified by enteringflag data into a predetermined NVRSAM, which is not shown in FIG. 1.When a computer 10 is powered on for the first time, a general-purposeOS starts.

As a resume operation is performed and a CPU 11 is powered on in thisstate, a CPU 11 (including a cache memory) is initialized under thecontrol of BIOS at first (steps 301 and 302). Then, a hardwareconfiguration and a NVRAM is checked (step 303). If a docking station 20is connected to a computer 10 at this moment, a device ID of the dockingstation 20 is acquired.

Then, whether it is a normal startup by powering on a computer 10 or itis resumed from a suspended state is determined according to a checkresults of a NVRAM or contents of an internal register of hardware suchas an ASIC (step 304). If it is determined to be a normal startup, ageneral-purpose OS is started by performing a POST (step 305).

If flag data indicating that a computer 10 is in a suspended state isstored in a NVRAM, for example, the process proceeds to an operation ofresuming from a suspended state, and a memory controller is set up(steps 304 and 306), then other core logic controllers are set up (step307).

Next, the check results of a hardware configuration taken at step 303 isexamined. If a device ID of a docking station 20 is detected, it isapparently in an extended configuration (step 308). Then system thenpowers on HDD 18 (step 309), and jumps to an entry point for resuming astate before suspension by starting a general-purpose OS (step 310).

On the other hand, in the case that a device ID of a docking station 20is not detected or in the case that an ID indicating a portableconfiguration is detected in step 308, it is apparently in a portableconfiguration. Then system then jumps to an entry point for starting asmall OS stored in a memory area free for use of main memory 13 (step311).

Since both a small OS and a program or data processed thereon aregenerally small in size, operation may be performed without using HDD 18in such a manner implemented in PDA and the like. Therefore, a small OSstarts without powering on HDD 18 as in step 309. By omitting anoperation of HDD 18, a mechanical structure of HDD 18 is protectedagainst harm, which could be done during the use of a computer 10. Sinceit eliminates mechanical operation at higher power consumption, it canalso contribute to power saving.

As a computer 10 is used after switching OS's in the above-describedmanner, by using synchronization features such as Briefcase, which isprovided in Windows, an OS from U.S. Microsoft Corporation, dataprocessed by these two OS can be adjusted.

As described above, the uses of a computer 10 during a small OSoperation are something like information reference, input and editingmainly by PIM, so that a process that place a heavy load on a CPU 11 isnot required. In case of starting a small OS, it can further contributeto power saving by operating a CPU 11 in low performance reducing thepower consumption.

The above-described embodiment provides switching of OS's by storing aprogram image of a small OS in a memory area free for use set on mainmemory 13 and by performing suspend and resume under the control of ageneral-purpose OS. Considering the implementation with a small OS usinga computer 10 for portable use, it is preferable to employ theabove-described switching approach using a suspend/resume function thatcan start a small OS without making HDD 18 operate. As it has resumedfrom a suspended state, it is also preferable to start an OS veryquickly.

However, in a suspended state, power is supplied to main memory 13 tomaintain the contents thereof. Therefore, if a computer is kept in abattery driven state for a long period of time, the battery will run outand contents of main memory 13 may be lost. Then, switching OS's can beassumed to be provided in the above-described manner by using thehibernation feature, which saves contents of work (contents of mainmemory 13) to HDD 18 as a computer 10 is powered off. In the case ofusing a NVS area of ACPI as a memory area free for use, contents of theNVS area are secured to be kept by hibernation.

In other words, the computer 10 is powered off after storing thecontents of main memory 13, which stores a program image of a small OSin a memory area free for use, into a data saving area reserved on HDD18. As a result, no electrical power is consumed so that a state inwhich a program image of a small OS is stored in a memory area free foruse will not be lost. When a computer 10 starts, contents of main memory13 that have been stored in HDD 18 are copied onto main memory 13,thereby OS's may be selectively started in the same manner as theabove-described resume operation by means of suspend and resume.

FIG. 4 is a flowchart illustrating an operation upon starting a computer10 in the case of switching OS's to start by means of a hibernationfunction.

As an initial state, a computer 10 is assumed to be in the state ofbeing powered off after previously starting a general-purpose OS,storing a small OS in a memory area free for use, then storing contentsof main memory 13 in HDD 18 by means of hibernation. Whether a computer10 uses a hibernation function or not is identified by entering flagdata into a predetermined NVRAM, which is not shown in FIG. 1.

If the computer is powered on in this state, initialization of a CPU 11(including a cache memory) is performed under the control of BIOS atfirst (steps 401 and 402). Then a hardware configuration and NVRAM arechecked (step 403). If a docking station 20 is connected to the computer10 at this moment, a device ID of a docking station 20 is acquired.

Next, POST is performed (step 404), followed by examining whether workcontents are saved by hibernation or not from the check results of NVRAM(step 405). If the contents are not saved, start an OS (for example, ageneral-purpose OS) through a normal procedure (step 406).

On the other hand, if the work contents are saved by hibernation, a filesaved to HDD 18 is copied onto main memory 13 (steps 405 and 407). Then,check results of a hardware configuration at step 403 is examined (step408). If a device ID of a docking station 20 is detected, it isapparently in an extended configuration. Then, the system jumps to anentry point for starting a general-purpose OS and resuming the statebefore the suspended state (step 409). In the case of hibernation, HDD18 has already been running to read out a file saved to HDD 18, whicheliminates the another process of powering on the HDD 18.

On the other hand, if a device ID of a docking station 20 is notdetected at step 407, it is apparently in a portable configuration (step408). Then, the system will power off HDD 18 that has started to readout a file in hibernation (step 410), and jump to an entry point forstarting a small OS that has been stored in a memory area free for useof main memory 13 (step 411).

In the above-described embodiments, both in the case of using suspendand in the case of using hibernation, an OS to start was selected inaccordance with the determination whether a docking station 20 isconnected to a computer 10 or not. However, it is still possible todetermine whether various peripheral devices other than a dockingstation 20 are connected to a computer 10 or not to switch OS's tostart. In this case, by previously giving an unique device ID to each ofthe various peripheral devices and by acquiring and identifying thedevice ID at a hardware check upon startup, it is possible to controlthe selection and startup of an appropriate OS in accordance with thetype of a peripheral device connected to the computer.

One specific example of such an alternative is disaster recovery using aNVRAM USB attachable memory “key”. Such a peripheral device may beoperatively associated with a computer system by being inserted into aUSB port. Then, if the system is otherwise inoperable due to damage to,loss or removal of a hard disk drive, a small OS stored in the memorykey may be called in order to restore at least minimal operability tothe system and enable, for example, access through a network to a helpdesk or other resource.

In the drawings and specifications there has been set forth a preferredembodiment of the invention and, although specific terms are used, thedescription thus given uses terminology in a generic and descriptivesense only and not for purposes of limitation.

1. A portable computing device, comprising: computer data storageelements in the portable computing device which store a BIOS and aplurality of operating systems; and a CPU operatively communicating withsaid storage elements; said storage elements and said CPU cooperating inexecution of the BIOS in such a manner that, upon starting theapparatus, said CPU under the control of the BIOS recognizes theconfiguration of any associated hardware selects a first operatingsystem in the plurality of operating systems and powers a secondarystorage on when the portable computing device is recognized as beingcoupled to a docking station and selects a second operating system inthe plurality of operating systems without powering said secondarystorage on when the portable computing device is recognized as beingused as a stand-alone device.
 2. The portable computing device of claim1 being a personal digital assistant.
 3. The portable computing deviceof claim 1, wherein the CPU under the control of the BIOS is configuredto recognize the configuration of any associated hardware and start aselected one operating system stored in said storage elements inaccordance with the recognized hardware configuration upon initiatingthe portable computing device from a standby state.
 4. The portablecomputing device of claim 1, wherein, if the first operating system isselected, at least a portion of the second operating system is stored ina non-volatile sleeping memory.
 5. A method of controlling a computercomprising the steps of: recognizing the hardware configuration of thecomputer as the computer starts up; and starting a first operatingsystem of a plurality of operating systems stored the computer andpowering a secondary storage on when the computer is recognized as beingcoupled to a clocking station or starting a second operating system inthe plurality of operating systems without powering said secondarystorage on when the computer is recognized as being used as astand-alone device, and wherein said step of recognizing a hardwareconfiguration comprises a step of acquiring a device ID from apredetermined peripheral device, and said step of starting first orsecond operating system comprises a step of determining which operatingsystem to start in accordance with said acquired device ID.
 6. Themethod of claim 5, where the computer is a personal digital assistant.7. A program product comprising: a computer readable medium; and programinstructions stored on said medium and effective when executing tocontrol the startup of a portable computer, said program instructionscausing the portable computer to perform the processes of: recognizingthe portable computer's hardware configuration as the portable computerstarts up; and selectively starting a first operating system of aplurality of operating systems stored in the portable computer andpowering a secondary storage on when the portable computing device iscoupled to a docking station or a second operating system in theplurality of operating systems without powering said secondary storageon when the portable computing device is used as a stand-alone device.8. A program product comprising: a computer readable medium; and programinstructions stored on said medium and effective when executing tocontrol the startup of a computer system, said program instructionscausing the computer to perform the processes of: recognizing a system'shardware configuration as the system starts up; and selectively startingone of a plurality of operating systems in accordance with therecognized hardware configuration, and wherein said process of startingup an operating system comprises the processes of: determining whichoperating system should be started according to whether a predeterminedperipheral device is connected to its own system; if said peripheraldevice is connected, powering a secondary storage on and starting thedetermined operating system; if said peripheral device is not connected,starting the determined operating system without powering said storageon.
 9. A computing device, comprising: computer data storage elements inthe computing device which store a BIOS and a plurality of operatingsystems; and a CPU operatively communicating with said storage elements;said storage elements and said CPU cooperating in execution of the BIOSin such a maimer that, upon starting the apparatus, said CPU under thecontrol of the BIOS performs the following operations: recognizes ahardware configuration of the computing device as the computing devicestarts up; selectively starts one of the plurality of operating systemsin accordance with the recognized hardware configuration and whereinsaid process of starting up an operating system comprises the acts of:determining which operating system should be started according towhether a predetermined peripheral device is connected to its ownsystem; if said peripheral device is connected, powering a secondarystorage on and starling, the determined operating system; if saidperipheral device is now connected, starting the determined operatingsystem without powering said storage on.